1. Field of the Invention
The present invention relates generally to an apparatus and a method for exchanging data, and more particularly, to an apparatus and a method for exchanging data between Universal Plug and Play (UPnP) based devices.
2. Description of the Related Art
UPnP ( ) technology is used for exchanging data between devices. The UPnP technology expands upon Plug and Play (PnP) technology used in a conventional computer system to a dynamic service interworking technology based on a network.
Devices supporting UPnP technology are generally classified into a control point and a controlled device, based on an ability to be a subject of the control. A control point searches for or controls other devices, and a controlled device performs a service provided by the controlled device itself, under a control of the control point. In general, the control point and the controlled device perform networking including an addressing process, a discovery process, a description process, a control process, and an eventing process.
FIG. 1 illustrates a conventional UPnP protocol stack.
Referring to FIG. 1, the UPnP protocol stack 10 includes an Internet Protocol (IP) 12, a Transmission Control Protocol (TCP) 14, a Hypertext Transfer Protocol (HTTP) 16, a Simple Object Access Protocol (SOAP) 18, and a General Event Notification Architecture (GENA) 19, and the control point and the controlled device exchange data based on the UPnP protocol stack 10.
More specifically, the control point communicates with other devices on a network through the IP 12 and the TCP 14, and performs the address process and the discovery process of searching for and inquiring other devices on the network through IP addresses.
Further, the control point requests a specification file (service description eXtensible Markup Language (XML) file or device description XML file) of a device through an IP address of the controlled device in order to recognize a service provided by the controlled device, and receives the specification file of the device from the controlled device. The control point recognizes the service provided by the controlled device by analyzing the specification file of the device provided by the controlled device.
Further, in order to execute a service through the controlled device, the control point transmits a control action message requesting an execution of the service provided by the controlled device to the controlled device and receives a control response message from the controlled device having received the corresponding control action message. Here, the control action message and the control response message are expressed using XML through the SOAP 18.
Additionally, the control point performs the eventing process of identifying whether an event of the controlled device providing a predetermined service through the control action message is generated, i.e., whether there is a change in a state of the controlled device. When the control point transmits a SOAP message for requesting a subscription to identify the change in the state of the controlled device to the controlled device, the controlled device transmits an event message of a text type to the control point using the GENA 18, in order to inform of the change in the state of the controlled device.
As described above, when exchanging data based on the conventional UPnP protocol stack 10, a control related message, such as the control action message and the control response message, are transmitted and received between the control point and the controlled device using the SOAP 18, and the controlled device transmits the event message to the control point by using the GENA 19. Here, the GENA 19 is used for exchanging the event message between the devices, and the SOAP 18 refers to a protocol for transmitting the control command to the device using XML.
According to the method of exchanging the data based on the aforementioned conventional UPnP protocol stack 10, because the UPnP protocol 10 was developed mainly for a control network, the UPnP is conveniently used for exchanging a one-shot control related message between devices included in the network by using the protocol, such as the SOAP 18, of the UPnP 10, but is not suitable for periodically transmitting and receiving two-way data at a high speed.
More specifically, although it is convenient to transmit and receive the control action message and the control response message between the control point and the controlled device using the SOAP 18, the SOAP 18 is not suitable for periodically transmitting and receiving binary data at a high speed because the SOAP 18 uses an attachment method based on a base 64 encoding in transmitting and receiving the binary data.
Further, the controlled device transmits an event message to a control point using the GENA 19, but the GENA 19 supports only a one-way transmission in which the event message is transmitted to all control points connected to the UPnP network in a multicast scheme. Accordingly, the GENA 19 is not suitable for periodically transmitting and receiving two-way binary data between the control point and the controlled device at a high speed. Consequently, exchanging two-way data between the control point and the controlled device using the SOAP 18 and the GENA 19 is inefficient and not fast enough.